package com.zhongwang.business.module.basic.service;


import com.zhongwang.business.constant.Constant;
import com.zhongwang.business.module.basic.dao.DictDao;
import com.zhongwang.business.module.basic.model.DictEnumModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;

import java.util.ArrayList;
import java.util.List;

import static com.zhongwang.business.constant.Constant.STATUS_NORMAL;


@Service
public class DictBasicService {

    @Autowired
    private DictDao dictDao;


    /**
     * 修改部门
     */
    public int updateDict(DictEnumModel dict) {
        dict.setStatus(STATUS_NORMAL);
        return dictDao.update(dict);
    }

    /**
     * 保存
     *
     * @param
     * @return
     */
    public int saveDict(DictEnumModel dict) {
        dict.setStatus(STATUS_NORMAL);
        dict.setCreateTime(new Date());
        return dictDao.save(dict);
    }

    /**
     * 删除
     */
    public int delDict(Integer id) {
        return dictDao.updateStatusById(id, Constant.STATUS_DELETE);
    }

    /**
     * 校验 重复
     * @param groupName
     * @return
     */
   public  List<DictEnumModel> findDictByGroupName(String groupName){
        return dictDao.findByGroupName(groupName);
   }

    /**
     * 条件查询列表
     * @param dictEnum
     * @return
     */
    public List<DictEnumModel> findDictByCondition(DictEnumModel dictEnum) {
       return  dictDao.findByCondition(dictEnum);
    }

    /**
     * 获取字典表中group_name
     * @return
     */
    public List<String> selectTypes() {
        List<DictEnumModel> list = dictDao.selectTypes();
        List<String> types = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            types.add(list.get(i).getGroupName());
        }
        return  types;
    }


}
